¿Qué es TypeScript?

TypeScript es una extensión al lenguaje de programación JavaScript que se caracteriza por ampliar su sintaxis en el ámbito de los tipos. En este sentido, es un lenguaje de programación propio que se basa en JavaScript para darnos herramientas de desarrollo en cualquier escala de proyectos. TS está creado sobre la base de la especificación ECMAScript (que establece el diseño formal de JS) añadiendo características adicionales para mejorar su robustez y claridad. Esto hace que TS sea un lenguaje superconjunto de JS que incluye todas sus capacidades más otras adicionales.

No obstante, los navegadores web no pueden ejecutar código TS directamente, a menos que sea recompilado previamente a JS. Este proceso puede hacerse a cualquier versión del ECMAscript incluyendo el soporte para navegadores antiguos. Además de agregar elementos a la sintaxis de JavaScript, TypeScript se conecta de manera más profunda con los editores de código, revisando errores de manera más oportuna. Una prueba de esto es su integración con Angular, View y React, plataformas fundamentales para un desarrollador web. Mientras que Angular trabaja de manera exclusiva con este lenguaje, View y React tienen la opción de convertir nuestra forma de programar a este lenguaje. Al igual que JavaScript, este es un lenguaje de programación que recibe mucho soporte por parte de su creador. Además, con cada año que pasa vemos que la comunidad que usa este lenguaje crece cada vez más. A continuación, te contamos algunas de las razones por las que muchos desarrolladores usan TypeScript.

// Dato de tipo string
var
name: string = 'Tu nombre';
name = 'Otro nombre'; // Es correcto
name = 2 // Es incorrecto
// Dato de tipo number
var
age: number = 29;
age = 0xf00d; // Es hexadecimal y es correcto
age = '3'; // Es un string e incorrecto
// Dato de tipo boolean
var havePets: boolean = true;
havePets = false; // Es correcto
havePets = 3 // Es incorrecto
// Ejemplo
const test = name + havePets; // No se puede sumar number + boolean

¿Qué diferencia a TypeScript de JavaScript?

La principal característica que distingue TS y lo diferencia de JS es el llamado tipado estático. Las variables en JS no se declaran especificando un tipo de dato, por lo que que toman automáticamente el del último valor asignado. Esto se denomina tipado dinámico:

let valor = 10; // variable toma tipo entero.
valor = “HOLA” ; // variable toma tipo cadena. OK

TS sin embargo requiere especificar el tipo al declarar una variable de modo que sólo admite la asignación de valores del tipo adecuado. Esto se denomina tipado estático:

let valor: number; // Variable tipo estático.
valor = 5;
valor = “HOLA”; // Muestra ERROR.

Con el tipado estático de TS el código anterior muestra un error al intentar asignar a la variable de tipo numérico valor una cadena de texto. Esta situación es además advertida al programador durante la escritura del código y no permite la ejecución hasta ser subsanada. Typescript qué es y para qué sirve 2 En cambio, esta operación anómala pasa inadvertida en JS debido al tipado dinámico. No obstante, TS también puede hacer uso del tipado dinámico si se desea. TS define además tipos y estructuras adicionales no existentes directamente en JS tales como interfaces, enumerados, genéricos, estructuras y tuplas. Por otro lado, su sintaxis para la programación orientada a objetos (POO) es mucho más similar a la de lenguajes como C# o Java que en el caso de JS. Esto facilita la creación de código más accesible y común.

Esta representación tipifica dos de los principales objetivos del plan de TypeScript, que son:

Para distinguir estáticamente compilaciones que probablemente serán errores garrafales. Para dar un componente organizador a partes más grandes de código.

Ventajas de TypeScript

Los módulos de gestión de TypeScript ofrecen una perspectiva destacada entre otros ingenieros de IDE. TypeScript tiene una mejor documentación para las API que está en armonía con un código fuente. Algunas organizaciones informan una disminución en los errores cuando cambian a TypeScript.

Desventajas de TypeScript